CRUD এবং FLS চেকিং

Computer Programming - এপেক্স (Apex) Apex Security (Apex Security) |
215
215

CRUD (Create, Read, Update, Delete) এবং FLS (Field Level Security) চেকিং Salesforce-এ একটি নিরাপদ এবং সুরক্ষিত অ্যাপ্লিকেশন তৈরি করার জন্য অপরিহার্য। Apex কোডের মধ্যে CRUD এবং FLS চেক ব্যবহার করে নিশ্চিত করা হয় যে ব্যবহারকারীর কাছে ডেটা এবং ফিল্ডের উপর যথাযথ অনুমোদন রয়েছে কিনা। এর ফলে Salesforce অ্যাপ্লিকেশনে সঠিক নিরাপত্তা নিশ্চিত হয় এবং অপ্রত্যাশিত ডেটা লিক বা নিরাপত্তা ঝুঁকি কমানো যায়।


CRUD চেকিং

CRUD চেকিং ব্যবহার করে Apex কোডে যাচাই করা হয় যে, ব্যবহারকারী নির্দিষ্ট Object-এর উপর Create, Read, Update, বা Delete অনুমোদন রয়েছে কিনা। এটি সুরক্ষা নিশ্চিত করতে গুরুত্বপূর্ণ, কারণ একটি রেকর্ড বা অবজেক্টের উপর যথাযথ অনুমোদন না থাকলে ব্যবহারকারী সেই রেকর্ডটি অ্যাক্সেস বা পরিবর্তন করতে পারবে না।

CRUD চেকিং উদাহরণ

নীচের উদাহরণে Account অবজেক্টে CRUD অনুমোদন চেক করা হয়েছে।

if (Schema.sObjectType.Account.isAccessible()) {
    Account acc = [SELECT Id, Name FROM Account LIMIT 1];
    System.debug('Account accessible to current user');
}

if (Schema.sObjectType.Account.isCreateable()) {
    Account newAcc = new Account(Name = 'Test Account');
    insert newAcc;
    System.debug('Account created');
}

if (Schema.sObjectType.Account.isUpdateable()) {
    Account acc = [SELECT Id FROM Account LIMIT 1];
    acc.Name = 'Updated Account Name';
    update acc;
    System.debug('Account updated');
}

if (Schema.sObjectType.Account.isDeletable()) {
    Account acc = [SELECT Id FROM Account LIMIT 1];
    delete acc;
    System.debug('Account deleted');
}
  • isAccessible(): চেক করে ব্যবহারকারী নির্দিষ্ট অবজেক্ট পড়তে পারে কিনা।
  • isCreateable(): চেক করে ব্যবহারকারী নতুন রেকর্ড তৈরি করতে পারে কিনা।
  • isUpdateable(): চেক করে ব্যবহারকারী রেকর্ড আপডেট করতে পারে কিনা।
  • isDeletable(): চেক করে ব্যবহারকারী রেকর্ড ডিলিট করতে পারে কিনা।

FLS (Field Level Security) চেকিং

FLS চেকিং ব্যবহার করে Apex কোডে যাচাই করা হয় যে, ব্যবহারকারী নির্দিষ্ট Field অ্যাক্সেস করার অনুমতি রাখে কিনা। এটি নিশ্চিত করে যে ব্যবহারকারী শুধুমাত্র অনুমোদিত ফিল্ড দেখতে বা সম্পাদনা করতে পারে এবং অপ্রয়োজনীয় বা সংবেদনশীল ফিল্ডে অ্যাক্সেস পাবে না।

FLS চেকিং উদাহরণ

নীচে Account অবজেক্টে Name এবং Industry ফিল্ডের জন্য FLS চেক করা হয়েছে।

Account acc = [SELECT Id, Name, Industry FROM Account LIMIT 1];

// Field Level Security চেক
if (Schema.sObjectType.Account.fields.Name.isAccessible()) {
    System.debug('Account Name: ' + acc.Name);
}

if (Schema.sObjectType.Account.fields.Industry.isUpdateable()) {
    acc.Industry = 'Technology';
    update acc;
    System.debug('Account Industry updated');
}
  • isAccessible(): চেক করে ব্যবহারকারী ফিল্ড দেখতে পারে কিনা।
  • isUpdateable(): চেক করে ব্যবহারকারী ফিল্ড আপডেট করতে পারে কিনা।
  • isCreateable(): চেক করে ব্যবহারকারী ফিল্ডে নতুন ভ্যালু অ্যাসাইন করতে পারে কিনা (যখন নতুন রেকর্ড তৈরি করা হয়)।

কেন CRUD এবং FLS চেকিং গুরুত্বপূর্ণ?

নিরাপত্তা নিশ্চিত করা: CRUD এবং FLS চেকিং নিশ্চিত করে যে ব্যবহারকারীর কাছে কেবলমাত্র অনুমোদিত ডেটা এবং ফিল্ডের এক্সেস রয়েছে, যা ডেটা লিক হওয়া থেকে রক্ষা করে।

অ্যাক্সেস কন্ট্রোল বজায় রাখা: ব্যবহারকারীর অনুমতি অনুযায়ী ডেটা এবং ফিল্ডে এক্সেস কন্ট্রোল বজায় রাখে, যা সার্ভারের কার্যক্ষমতা উন্নত করে।

SOX এবং HIPAA-এর মতো নীতি অনুসরণ করা: অনেক কোম্পানি নিয়ন্ত্রণ এবং সুরক্ষার জন্য সিকিউরিটি নীতি অনুসরণ করে। CRUD এবং FLS চেকিং নিশ্চিত করে যে এসব নীতির শর্ত পূরণ হচ্ছে।

কোডের স্থায়িত্ব: অনুমোদিত ডেটা এবং ফিল্ডে এক্সেসের মাধ্যমে কোড আরও স্থিতিশীল এবং নির্ভরযোগ্য হয়।


ভালো অনুশীলন

CRUD এবং FLS চেকিং সর্বদা যুক্ত করুন: Apex কোডে CRUD এবং FLS চেকিং অন্তর্ভুক্ত করুন, বিশেষ করে যেখানে SOQL, DML, বা Field Access ব্যবহৃত হয়েছে।

গভর্নর লিমিট মেনে চলুন: CRUD এবং FLS চেকিং করার সময় গভর্নর লিমিটের মধ্যে থেকে কোড অপ্টিমাইজ করার চেষ্টা করুন।

Test Classes-এ সিকিউরিটি চেকিং অন্তর্ভুক্ত করুন: CRUD এবং FLS সিকিউরিটি চেকিং অ্যাসার্ট করার জন্য Test Class তৈরি করুন।

Sensitive Data হ্যান্ডলিং-এর ক্ষেত্রে বিশেষ সতর্কতা অবলম্বন করুন: সেনসিটিভ ফিল্ড যেমন Social Security Number (SSN), API Keys ইত্যাদি হ্যান্ডল করার সময় FLS চেকিং নিশ্চিত করুন।


সারসংক্ষেপ

CRUD এবং FLS চেকিং Salesforce-এ সুরক্ষিত অ্যাপ্লিকেশন তৈরি করতে অপরিহার্য, যা ব্যবহারকারীর অনুমোদন অনুযায়ী ডেটা এবং ফিল্ডের অ্যাক্সেস নিয়ন্ত্রণ করে। Apex কোডে CRUD এবং FLS চেকিং অন্তর্ভুক্ত করে ডেটার নিরাপত্তা, অ্যাপ্লিকেশন কার্যক্ষমতা, এবং নির্ভরযোগ্যতা নিশ্চিত করা যায়। Salesforce ডেভেলপমেন্টে CRUD এবং FLS চেকিং ব্যবহার করা একটি ভালো অভ্যাস এবং একটি নিরাপদ অ্যাপ্লিকেশন তৈরির অন্যতম গুরুত্বপূর্ণ পদক্ষেপ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion